home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
3D Game Programming All in One
/
3D Game Programming All in One Disc.iso
/
3D2E
/
demo
/
server
/
scripts
/
racing.cs
< prev
next >
Wrap
Text File
|
2005-11-23
|
2KB
|
75 lines
//-----------------------------------------------------------------------------
// Torque Game Engine
// Copyright (C) GarageGames.com, Inc.
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// Functions that implement game-play
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
package RacingGame {
//-----------------------------------------------------------------------------
function GameConnection::onClientEnterGame(%this)
{
commandToClient(%this, 'SyncClock', $Sim::Time - $Game::StartTime);
commandToClient(%this, 'SetGameGUI',"RacingGUI");
// Create a new camera object.
%this.camera = new Camera() {
dataBlock = Observer;
};
MissionCleanup.add( %this.camera );
%this.camera.scopeToClient(%this);
// Spawn the player
%this.score = 0;
%this.spawnPlayer();
}
//-----------------------------------------------------------------------------
function GameConnection::createPlayer(%this, %spawnPoint)
{
if (%this.player > 0) {
// The client should not have a player currently
// assigned. Assigning a new one could result in
// a player ghost.
error( "Attempting to create an angus ghost!" );
}
%player = new WheeledVehicle() {
dataBlock = DefaultCar;
client = %this;
};
MissionCleanup.add(%player);
// Car setup...
%player.setTransform(%spawnPoint);
%player.setShapeName(%this.name);
// Update the camera to start with the car
%this.camera.setTransform(%player.getEyeTransform());
// Give the client control of the car
%this.player = %player;
%this.setControlObject(%player);
}
//-----------------------------------------------------------------------------
function serverCmdSuicide(%client)
{
if (isObject(%client.player)) {
%client.player.delete();
%client.player = 0;
}
%client.spawnPlayer();
}
};